Skip to content

Conversation

@BeomBeom2
Copy link
Collaborator

개요

#10


PR 유형

해당하는 항목에 체크해주세요.

  • Add — 리소스/코드/컴포넌트 추가 (기능 변화 없음)
  • Feat — 사용자에게 보이는 새로운 기능 추가
  • Fix — 버그 수정
  • Refactor — 기능 변경 없는 코드 구조 개선
  • Docs / Comment — 문서, 주석 수정
  • Test — 테스트 추가 또는 리팩토링
  • Build / Config — 빌드, 의존성, 설정 변경
  • File — 파일 / 폴더 구조 변경

변경 사항

  • 티어 탭 UI 플랫폼 별 구현

📸 화면 / 영상 (선택)

tier_tab_iOS.mp4
tier_tab_android.mp4

BeomBeom2 and others added 30 commits January 17, 2026 22:43
@coderabbitai
Copy link

coderabbitai bot commented Feb 8, 2026

Important

Review skipped

Too many files!

This PR contains 201 files, which is 51 over the limit of 150.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/#10-tier-tab

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@imtaejugkim imtaejugkim added Add 신규 기능 / 화면 / 컴포넌트 추가 AI Review Request coderabbitai 리뷰 요청 labels Feb 8, 2026
Copy link
Contributor

@chrin05 chrin05 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

코드 양이 엄청나네요 너무 고생많으셨습니다

fun d(msg: String, tag: String = "App") = Napier.d(msg, tag = tag)
fun e(msg: String, t: Throwable? = null, tag: String = "App") = Napier.e(msg, t, tag)
fun d(tag: String = "App", msg: String) = Napier.d(msg, tag = tag)
fun e(tag: String = "App", msg: String, t: Throwable? = null, ) = Napier.e(msg, t, tag)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

불필요한 콤마가 남아있습니다 제거해주시면 코드 깔끔하게 유지 될 거 같아요!

) {
composable<Tier> { entry ->
val resultJson by entry.savedStateHandle
.getStateFlow<String?>("tier_result_json", null)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

savedStateHandle의 키값을 상수로 지정해주면 유지보수성을 높여줄 것 같습니다. 만약 변경하게 된다면 아래 36번줄에도 적용할 수 있을 것 같아요
private const val RESULT_FILTER = "tier_result_json"

Comment on lines +43 to +44
onBack = { onBackButtonClick() },
onApply = { result -> popBackStackWithResult(result) }
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

불필요한 람다 생성 없이 함수만 바로 넘겨줄 수 있을 것 같습니다.
람다 내 인자의 타입 개수 등 모두 일치한다면 아래처럼 사용 가능합니다!
onBack = onBackButtonClick, onApply = popBackStackWithResult,

Comment on lines +55 to +59
sealed interface UiState<out T> {
data object Loading : UiState<Nothing>
data class Success<T>(val data: T) : UiState<T>
data class Failure(val message: String) : UiState<Nothing>
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

전체적으로 대부분의 화면에 적용되어 사용될 거 같은데 core로 빼서 사용할 수 있게 하는 것은 혹시 어떤가요?

Comment on lines +386 to +389
Column(
modifier = modifier
.fillMaxSize()
.background(Color.White)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기 배경색 FFF3F3F3로 변경 부탁드립니다

Image

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

개인적으로는 한 파일 안에 300줄 이상이 되면 가독성을 고려해서 컴포넌트 파일로 분리하는 편인데, 재사용을 하는 컴포넌트 개념이 아니더라도 큰단위에 섹션을 나눠주는 것도 좋을 거 같아요!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Add 신규 기능 / 화면 / 컴포넌트 추가 AI Review Request coderabbitai 리뷰 요청

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants